home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 44 / Amiga Format CD44 (1999-08-26)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-10].iso / -in_the_mag- / basics / blitz / cca-source.lha / cca-src / TXT-SOURCE / makeshapes.bb2.txt < prev   
Text File  |  1998-12-13  |  4KB  |  122 lines

  1.  
  2. A.f = 0
  3. B.f = (2 * 3.142) / 3
  4. C.f = B * 2
  5.  
  6. Gosub initshapes
  7. NPrint ""
  8. Print "done"
  9.  
  10. SaveShapes 2,29,"shp/cca1.shp"
  11. SaveShapes 30,80,"shp/cca2.shp"
  12. SaveShapes 81,131,"shp/cca3.shp"
  13.  
  14. .initshapes
  15.  
  16.  
  17.     BitMap 5,100,100,4             ; temporary bitmap
  18.  
  19.               ;MISSILES
  20.     Cls                             ;missile ->
  21.     InitShape 2,5,1,4 : Line 1,1,2,1,10 : Line 3,1,5,1,9
  22.     GetaShape 2,1,1,5,1 : Handle 2,5,1
  23.  
  24.     Cls                             ;missile .
  25.     InitShape 3,1,3,4 : Plot 1,1,10 : Line 1,2,1,3,9
  26.     GetaShape 3,1,1,1,3 : Handle 3,1,3
  27.  
  28.     Cls                             ;missile <-
  29.     InitShape 4,5,1,4 : Line 1,1,3,1,9 : Line 4,1,5,1,10
  30.     GetaShape 4,1,1,5,1 : Handle 4,1,1
  31.  
  32.     Cls                             ;missile ^
  33.     InitShape 5,1,3,4 : Line 1,1,1,2,9 : Plot 1,3,10
  34.     GetaShape 5,1,1,1,3 : Handle 5,1,1
  35.  
  36.               ;EXPLOSION
  37.     For count = 1 To 9
  38.         countb = 1
  39.         If count > 3 Then countb = 2
  40.         If count > 6 Then countb = 3
  41.         Cls                             ;ex even
  42.         InitShape 4+count*2,40,20,4 : Circle 20,10,count*2 - 1,count,12 +(countb)
  43.         GetaShape 4+count*2,1,1,40,20 : MidHandle 4+count*2
  44.         Cls                             ;ex odd
  45.         InitShape 5+count*2,40,20,4 : Circle 20,10,count*2,count,12 +(countb)
  46.         GetaShape 5+count*2,1,1,40,20 : MidHandle 5+count*2
  47.     Next count
  48.  
  49.               ;Trail Players
  50.     For count = 1 To 4
  51.         Cls
  52.         moo = count
  53.         If moo > 3 Then moo = 2
  54.         InitShape 21+count,16,8,4 : Circle 8,4,count,count/2,moo
  55.         GetaShape 21+count,1,1,16,8 : MidHandle 21+count
  56.         Cls
  57.         moo = count + 4
  58.         If moo > 7 Then moo = 6
  59.         InitShape 25+count,16,8,4 : Circle 8,4,count,count/2,moo
  60.         GetaShape 25+count,1,1,16,8 : MidHandle 25+count
  61.  
  62.     Next count
  63.  
  64.     NPrint ""
  65.     Print "Spirals   :"
  66.     For countf.f = 1 To 51
  67.         Cls
  68.         InitShape 29 + countf,72,36,4
  69.         For countbf.f = countf To countf + 90
  70. Plot 36+(((countbf-countf)*(countf/120))*Sin(countbf/30)),18+(((countbf-countf)*(countf / 240))*Cos(countbf/30)),5
  71. Plot 36+(((countbf-countf)*(countf/120))*Sin((countbf+120)/30)),18+(((countbf-countf)*(countf / 240))*Cos((countbf+120)/30)),6
  72. Plot 36+(((countbf-countf)*(countf/120))*Sin((countbf+60)/30)),18+(((countbf-countf)*(countf / 240))*Cos((countbf+60)/30)),7
  73.         Next
  74.  
  75.         Blit 29+countf,35,17
  76.         ;Blit 29+countf,35,18
  77.         Blit 29+countf,36,17
  78.  
  79.  ;       GetaShape 29 + countf,1,1,72,36 : Handle 29 + countf,36,18
  80.         GetaShape 29 + countf,1+(count/2),1+(count/4),72-(count/2),36-(count/4) : Handle 29 + countf,36,18
  81.         Print "O"
  82.     Next
  83.  
  84.     NPrint ""
  85.     Print "Triangles :"
  86.     For countf.f = 1 To 51
  87.         Cls
  88.         InitShape 80 + countf,80,40,4
  89.     ;    For countbf.f = countf To countf
  90.         If countf <= 10
  91.             Circle 40, 20, 30 - countf * 2, 15 - countf ,5
  92.        ;     Circle 40, 21. 30 - countf * 2, 15 - countf ,6
  93.        ;     Circle 41, 20. 30 - countf * 2, 15 - countf ,7
  94.         EndIf
  95.  
  96.         pax.l = 40 + (((countf * 34) /40) * Sin(A - countf))
  97.         pay.l = 20 + (((countf * 17) /40) * Cos(A - countf))
  98.         pbx.l = 40 + (((countf * 34) /40) * Sin(B - countf))
  99.         pby.l = 20 + (((countf * 17) /40) * Cos(B - countf))
  100.         pcx.l = 40 + (((countf * 34) /40) * Sin(C - countf))
  101.         pcy.l = 20 + (((countf * 17) /40) * Cos(C - countf))
  102.         Line pax, pay, pbx, pby, 5
  103.         Line pbx, pby, pcx, pcy, 6
  104.         Line pcx, pcy, pax, pay, 7
  105.         Line pax, pay, 40, 20, 5
  106.         Line pbx, pby, 40, 20, 6
  107.         Line pcx, pcy, 40, 20, 7
  108.  
  109.  
  110. ;        Blit 80+countf,41,21
  111.  
  112.  ;       GetaShape 29 + countf,1,1,72,36 : Handle 29 + countf,36,18
  113.         GetaShape 80 + countf,1,1,80,40 : Handle 80 + countf,40,20
  114.         Print "O"
  115.  
  116.     Next
  117.  
  118.     Free BitMap 5              ; Good Riddance
  119.  
  120. Return
  121.  
  122.